package nl.uva.science.pico.picolanguage.types;

abstract public class STATEMENT extends nl.uva.science.pico.picolanguage.AbstractType {
  public STATEMENT(nl.uva.science.pico.picolanguage.Factory factory, aterm.ATermList annos, aterm.AFun fun, aterm.ATerm[] args) {
     super(factory, annos, fun, args);
  }

  public boolean isEqual(STATEMENT peer) {
    return super.isEqual(peer);
  }

  public boolean isSortSTATEMENT()  {
    return true;
  }

  public boolean isAssignment() {
    return false;
  }

  public boolean isConditional() {
    return false;
  }

  public boolean isLoop() {
    return false;
  }

  public boolean hasPICOID() {
    return false;
  }

  public boolean hasEXP() {
    return false;
  }

  public boolean hasCondition() {
    return false;
  }

  public boolean hasIfBranch() {
    return false;
  }

  public boolean hasElseBranch() {
    return false;
  }

  public boolean hasBody() {
    return false;
  }

  public nl.uva.science.pico.picolanguage.types.PICOID getPICOID() {
     throw new UnsupportedOperationException("This STATEMENT has no PICOID");
  }

  public STATEMENT setPICOID(nl.uva.science.pico.picolanguage.types.PICOID _PICOID) {
     throw new IllegalArgumentException("Illegal argument: " + _PICOID);
  }

  public nl.uva.science.pico.picolanguage.types.EXP getEXP() {
     throw new UnsupportedOperationException("This STATEMENT has no EXP");
  }

  public STATEMENT setEXP(nl.uva.science.pico.picolanguage.types.EXP _EXP) {
     throw new IllegalArgumentException("Illegal argument: " + _EXP);
  }

  public nl.uva.science.pico.picolanguage.types.EXP getCondition() {
     throw new UnsupportedOperationException("This STATEMENT has no Condition");
  }

  public STATEMENT setCondition(nl.uva.science.pico.picolanguage.types.EXP _condition) {
     throw new IllegalArgumentException("Illegal argument: " + _condition);
  }

  public nl.uva.science.pico.picolanguage.types.STATEMENTS getIfBranch() {
     throw new UnsupportedOperationException("This STATEMENT has no IfBranch");
  }

  public STATEMENT setIfBranch(nl.uva.science.pico.picolanguage.types.STATEMENTS _ifBranch) {
     throw new IllegalArgumentException("Illegal argument: " + _ifBranch);
  }

  public nl.uva.science.pico.picolanguage.types.STATEMENTS getElseBranch() {
     throw new UnsupportedOperationException("This STATEMENT has no ElseBranch");
  }

  public STATEMENT setElseBranch(nl.uva.science.pico.picolanguage.types.STATEMENTS _elseBranch) {
     throw new IllegalArgumentException("Illegal argument: " + _elseBranch);
  }

  public nl.uva.science.pico.picolanguage.types.STATEMENTS getBody() {
     throw new UnsupportedOperationException("This STATEMENT has no Body");
  }

  public STATEMENT setBody(nl.uva.science.pico.picolanguage.types.STATEMENTS _body) {
     throw new IllegalArgumentException("Illegal argument: " + _body);
  }

}

